Page({
  data: {
    scanResult: "",      // 原始扫描文本
    qrCodeImageUrl: "",  // 二维码图片URL
    isLoadingImage: false, // 图片加载状态
    parsedData: {        // 解析后的字段对象
      name: "",
      location: "",
      type: "",
      description: "",
      staff: "",
      submitTime: ""
    }
  },

  handleScan() {
    wx.scanCode({
      success: (res) => {
        const rawText = res;
        this.setData({ scanResult: rawText });
        // 如果扫码结果是图片URL，直接使用
        // if (this.isValidImageUrl(rawText)) {
        //   this.setData({ 
        //     qrCodeImageUrl: rawText,
        //     isLoadingImage: true
        //   });
        // } 
        // 否则假设是服务器上的资源路径，拼接完整URL
        // else {
          this.setData({ 
            qrCodeImageUrl: `http://localhost:8080/${rawText}`,
            isLoadingImage: true
          }
          );
        // }
        // 解析换行分隔的文本
        const lines = rawText.split(/\r?\n/);
        console.log(lines);
        const parsed = {};
        
        // 中文 key -> 英文 key 的映射关系
        const keyMap = {
          "名称": "name",
          "位置": "location",
          "类型": "type",
          "扫码操作描述": "description",
          "员工": "staff",
          "提交时间": "submitTime"
        };
        
        lines.forEach((line) => {
          if (!line.trim()) return; // 跳过空行
          
          // const [key, value] = line.split("：");
          // 拆分键和值（按冒号分割）
          const [zhKey, value] = line.split("："); 
          const enKey = keyMap[zhKey.trim()]; // 映射为英文 key
          
          // if (key && value) {
          //   parsed[key.trim()] = value.trim();
          // }
          if (enKey) { // 只处理配置过的 key
            parsed[enKey] = value.trim();
          }
        });

        // 合并解析结果到data中
        this.setData({ parsedData: parsed });
        // 可选：解析后执行其他业务逻辑
        console.log("解析完成:", parsed);
        //扫描成功后新增通行记录
        

      },
      fail: (err) => {
        console.log('扫描失败', err);
        wx.showToast({
          title: '扫描失败，请重试',
          icon: 'none'
        });
      }
    });
  },
  // 验证是否为有效的图片URL
  isValidImageUrl(url) {
    if (!url) return false;
    return /\.(jpg|jpeg|png|gif|bmp|webp|svg)(\?.*)?$/i.test(url);
  },
  
  // 图片加载成功回调
  onImageLoad() {
    this.setData({ isLoadingImage: false });
  },
  
  // 图片加载失败回调
  onImageError(e) {
    this.setData({ isLoadingImage: false });
    console.error('图片加载失败:', e);
    wx.showToast({
      title: '图片加载失败',
      icon: 'none'
    });
  }
});